package cn.cqone.crm.mapper;

import cn.cqone.crm.utils.PageList;

import java.io.Serializable;
import java.util.List;

public interface BaseMapper<T,ID extends Serializable,Q> {
    //添加
    int add(T obj);
    //修改
    int update(T obj);
    //删除
    int delete(ID id);
    //批量删除
    int batchDelete(List<Long> ids);
    //根据id查询一个
    T findById(ID id);
    //查询全部
    List<T> findAll();
    //分页总条数
    Integer findCount(Q query);
    //分页列表
    List<T> findList(Q query);

    PageList<T> findByPage(Q query);
}
